﻿using System;
using System.Collections.Generic;
using System.Text;

using FundSms.Client.Model;

namespace FundSms.Client.IDAL
{
    /// <summary>
    /// 待发短信接口
    /// </summary>
    public interface ISmsSendList
    {
        /// <summary>
        /// 获得所有待发的信息
        /// </summary>
        /// <returns>所有待发信息集合接口</returns>
        IList<TSMSSendHundSunInfo> GetSendList();

        /// <summary>
        ///获得指定条数的待发信息 
        /// </summary>
        /// <param name="rownum">指定条数</param>
        /// <returns>指定条数的待发信息集合接口</returns>
        IList<TSMSSendHundSunInfo> GetSendList(int rownum);

        /// <summary>
        ///获得指定条数的待发信息 
        /// </summary>
        /// <param name="rownum">指定条数</param>
        /// <param name="count">总共线程数</param>
        /// <param name="mod">指定余数，用于多线程</param>
        /// <returns>指定条数的待发信息集合接口</returns>
        IList<TSMSSendHundSunInfo> GetSendList(int rownum,int count,int mod);

        /// <summary>
        /// 查询某条指定的短信
        /// </summary>
        /// <param name="id">短信编号</param>
        /// <returns>指定编号的短信信息接口</returns>
        TSMSSendHundSunInfo GetSms(int id);

        /// <summary>
        /// 删除所有待发短信
        /// </summary>
        void DeleteSms();

        /// <summary>
        /// 删除指定编号的短信
        /// </summary>
        /// <param name="id">指定编号</param>
        void DeleteSms(int id);

        /// <summary>
        /// 删除批量短信
        /// </summary>
        /// <param name="idlist">批量短信编号，如1,2,3</param>
        void DeleteSmsList(string idlist);

        /// <summary>
        /// 获得当前日期下待发的短信数量
        /// </summary>
        /// <param name="datetime"></param>
        /// <returns></returns>
        int GetUnSendCount();

    }
}
